// Fill out your copyright notice in the Description page of Project Settings.

#pragma once

#include "entities/WorldEntity.h"
#include <unordered_set>

/**
 * Entity changeset (difference).
 */
class FWorldEntityChangeset
{
public:

	FWorldEntityChangeset();
	~FWorldEntityChangeset();

	void Add(const FWorldEntity::Ptr& entity);
	void Edit(const FWorldEntity::Ptr& entity);
	void Remove(const FWorldEntity::Ptr& entity);

	void MapId(const json& res, const std::unordered_set<FWorldEntity::Ptr>& entities);

	const json& Json() const;

private:

	json	_json;

};
